package cn.yuanqiao.archive.formManage.detail.mapper;

import cn.yuanqiao.archive.formManage.detail.domain.YqformManageDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 表单明细Mapper接口
 * 
 * @author lyk
 * @date 2023-06-25
 */
public interface YqformManageDetailMapper 
{
    /**
     * 查询表单明细
     * 
     * @param detailId 表单明细主键
     * @return 表单明细
     */
    public YqformManageDetail selectYqformManageDetailByDetailId(String detailId);

    /**
     * 查询表单明细列表
     * 
     * @param yqformManageDetail 表单明细
     * @return 表单明细集合
     */
    public List<YqformManageDetail> selectYqformManageDetailList(YqformManageDetail yqformManageDetail);

    /**
     * 新增表单明细
     * 
     * @param yqformManageDetail 表单明细
     * @return 结果
     */
    public int insertYqformManageDetail(YqformManageDetail yqformManageDetail);

    /**
     * 修改表单明细
     * 
     * @param yqformManageDetail 表单明细
     * @return 结果
     */
    public int updateYqformManageDetail(YqformManageDetail yqformManageDetail);

    /**
     * 删除表单明细
     * 
     * @param detailId 表单明细主键
     * @return 结果
     */
    public int deleteYqformManageDetailByDetailId(String detailId);

    /**
     * 批量删除表单明细
     * 
     * @param detailIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqformManageDetailByDetailIds(String[] detailIds);

    /**
     * 通过表名查询字段
     * @param setTableName
     * @return
     */
    List<YqformManageDetail> selectTableColumnsByTableName(YqformManageDetail setTableName);

    /**
     * 批量插入字段
     * @param yqformManageDetails
     * @return
     */
    int batchInsertYqformManageDetail(List<YqformManageDetail> yqformManageDetails);

    int deleteYqformManageDetailByManageId(@Param("tableId") Long tableId, @Param("tenantCode") String tenantCode);

    List<YqformManageDetail> selectYqformManageDetailListByManageId(YqformManageDetail yqformManageDetail);

    int deleteYqformManageDetailByManageIds(@Param("fromIds") String[] fromIds);
}
